--[Factor:"因子",Design:"设计",Resolution:"分别率",Policy:"政策,策略",purge:"净化"]



-- avoid memory leak
collectgarbage("setpause", 100) 
collectgarbage("setstepmul", 5000)

----------------
-- run
CC_USE_DEPRECATED_API = true
require "cocos.init"

local director = cc.Director:getInstance()
local glView   = director:getOpenGLView()
if nil == glView then
    glView = cc.GLViewImpl:createWithRect("Lua Tests", cc.rect(0,0,960,640))
    director:setOpenGLView(glView)
end

--turn on display FPS
--显示FPS
director:setDisplayStats(true)

--set FPS. the default value is 1.0/60 if you don't call this
--这是一秒绘制多少帧
director:setAnimationInterval(1.0 / 60)
--[[
获取EGL视图的帧大小。
一般来说，它返回屏幕大小，因为EGL视图是全屏视图
]]
local screenSize = glView:getFrameSize()
--设计屏幕尺寸
local designSize = {width = 480, height = 320}
--如果屏幕高度大于设计尺寸高度
if screenSize.height > 320 then
    --设置屏幕大小
    local resourceSize = {width = 960, height = 640}
    --设置缩放比例因子
    cc.Director:getInstance():setContentScaleFactor(resourceSize.height/designSize.height)
end
--[[
    设置设计分辨率大小  根据设计尺寸来设置
    @param width  宽度设计分辨率宽度
    @param height 高度设计分辨率高度
    @param resolutionPolicy 解决方案策略所需的解决策略，您可以选择：
        EXACT_FIT  通过拉伸来拟合填充屏幕：如果宽度与高度的设计分辨率不同于屏幕分辨率，则您的游戏视图将被拉伸
        NO_BORDER  无边界全屏无黑边框：如果宽度与高度的设计分辨率不同于屏幕分辨率，则将删除游戏视图的两个区域。
        SHOW_ALL   显示所有的黑色边框：如果宽度与高度的设计分辨率不同于屏幕分辨率，则会显示两个黑色边框
]]
glView:setDesignResolutionSize(designSize.width, designSize.height, cc.ResolutionPolicy.NO_BORDER)

--获取文件工具实例
local fileUtils = cc.FileUtils:getInstance()
--[[
    添加查询的路径
    @param resPrefix  路径
    @param height 高度
]]
local function addSearchPath(resPrefix, height)
    local searchPaths = fileUtils:getSearchPaths()
    table.insert(searchPaths, 1, resPrefix)
    table.insert(searchPaths, 1, resPrefix .. "cocosbuilderRes")
    --进行屏幕适配
    if screenSize.height > 320 then
        table.insert(searchPaths, 1, resPrefix .. "hd")
        table.insert(searchPaths, 1, resPrefix .. "ccs-res")
        table.insert(searchPaths, 1, resPrefix .. "ccs-res/hd")
    end

    fileUtils:setSearchPaths(searchPaths)

end

addSearchPath("res/", screenSize.height)
addSearchPath("", screenSize.height)

require "mainMenu"

local scene = cc.Scene:create()
scene:addChild(CreateTestMenu())
if cc.Director:getInstance():getRunningScene() then
    print("controller脚本","首界面")
    cc.Director:getInstance():replaceScene(scene)
else
    cc.Director:getInstance():runWithScene(scene)
    print("controller脚本","非首界面")
end
